﻿using System;
using System.ComponentModel.DataAnnotations;

namespace ZFine.Domain.Entity
{
    /// <summary>
    /// 课程实体类
    /// </summary>
    public class CourseEntity : IEntity<CourseEntity>, ICreationAudited, IDeleteAudited, IModificationAudited
    {
        #region 常用
        public string F_Id { get; set; }
        public string F_CreatorUserId { get; set; }
        /// <summary>
        /// （作为提交时间）
        /// </summary>
        public DateTime? F_CreatorTime { get; set; }
        /// <summary>
        /// 逻辑删除标记
        /// </summary>
        public bool? F_DeleteMark { get; set; }

        /// <summary>
        /// 删除实体的用户
        /// </summary>
        public string F_DeleteUserId { get; set; }

        /// <summary>
        /// 删除实体时间
        /// </summary>
        public DateTime? F_DeleteTime { get; set; }
        public string F_LastModifyUserId { get; set; }
        public DateTime? F_LastModifyTime { get; set; }

        #endregion

        /// <summary>
        /// 课程名称
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 课程类型
        /// </summary>
        public virtual CourseTypeEntity CourseType { get; set; }
        /// <summary>
        /// 课程开始时间
        /// </summary>
        public DateTime? CourseStartTime { get; set; }

        /// <summary>
        /// 课程结束时间
        /// </summary>
        public DateTime? CourseEndTime { get; set; }
        /// <summary>
        /// 上课时间
        /// </summary>
        public virtual CourseTimeEntity CourseTime { get; set; }
        /// <summary>
        /// 课程原价
        /// </summary>
        public decimal? CourseOldPrice { get; set; }
        /// <summary>
        /// 课程现价
        /// </summary>
        public decimal? CourseNowPrice { get; set; }
        /// <summary>
        /// 联系电话(发布人电话)
        /// </summary>
        public int? PhoneNumber { get; set; }
        /// <summary>
        /// 省
        /// </summary>
        [StringLength(20)]
        public string Province { get; set; }
        /// <summary>
        /// 市
        /// </summary>
        [StringLength(20)]
        public string City { get; set; }
        /// <summary>
        /// 区
        /// </summary>
        [StringLength(20)]
        public string Area { get; set; }
        /// <summary>
        /// 地址
        /// </summary>
        [StringLength(50)]
        public string Address { get; set; }
        /// <summary>
        /// 坐标点
        /// </summary>
        public decimal? XPoint { get; set; }
        /// <summary>
        /// 坐标点
        /// </summary>
        public decimal? YPoint { get; set; }
        /// <summary>
        /// 上传图片
        /// </summary>
        public string Image { get; set; }
        /// <summary>
        /// 上传视频
        /// </summary>
        public string Video { get; set; }
        /// <summary>
        /// 课程描述
        /// </summary>
        public string Description { get; set; }
        /// <summary>
        /// 注意事项
        /// </summary>
        public string CourseAlert { get; set; }
        /// <summary>
        /// 课程发布人
        /// </summary>
        public virtual UserEntity PublicName { get; set; }
        /// <summary>
        /// 点击量
        /// </summary>
        public int? ClickRate { get; set; }
        /// <summary>
        /// 关注量
        /// </summary>
        public int? FollowRate { get; set; }
        /// <summary>
        /// 购买量
        /// </summary>
        public int? BoughtRate { get; set; }
        /// <summary>
        /// 转发次数
        /// </summary>
        public int? TranspondNumber { get; set; }
        /// <summary>
        /// 状态(true为有效，false为无效)
        /// </summary>
        public bool? State { get; set; }
        /// <summary>
        /// 审核状态（0为未审核，1为审核驳回，2为审核中,3为审核通过）
        /// </summary>
        public int? CourseState { get; set; }
        /// <summary>
        /// 是否存入草稿箱
        /// </summary>
        public bool? IsDrafts { get; set; }
        /// <summary>
        /// 驳回原因
        /// </summary>
        public string RejectReason{ get; set;}

    }
}
